#include<bits/stdc++.h>
#include <windows.h>
int main()
{
    //C++提供了使得某些变量的原子操作，不会存在冲突的情况。
    std::atomic<int> a = 1;

    std::thread t1(
        [&a](){
           a++; 
           std::this_thread::sleep_for(std::chrono::seconds(1));
           std::cout<<a<<std::endl;
        } 
    );
    std::thread t2(
        [&a](){
           
            a++;
           std::this_thread::sleep_for(std::chrono::seconds(1));
            
            std::cout<<a<<std::endl;
        }
    );       
    t1.join();
    t2.join();
    std::cout<<a;
    return 0;
}